package com.guit.hrms.po.approval;

import com.guit.hrms.dto.recuitmentDTO.ALOfEDNDTO;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;
import java.time.LocalDateTime;

@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class Approval {
    @NotNull(message = "planId不能为空")
    private Long planId;
    @NotBlank(message = "planName不能为空")
    private String planName;
    @NotBlank(message = "planCode不能为空")
    private String planCode;
    @NotNull(message = "planType不能为空")
    private Integer planType;
    //    @NotEmpty(message = "depts不能为空")
    @Valid
    private List<Depts> depts;
    //    @NotBlank(message = "recruiterId不能为空")
    private String recruiterId;
    //    @NotBlank(message = "recruiterName不能为空")
    private String recruiterName;
    //    @NotNull(message = "recruiterPhone不能为空")
    private String recruiterPhone;
    //    @NotNull(message = "recruitmentConditions不能为空")
    private String recruitmentConditions;
    //    @NotNull(message = "benefitsDescription不能为空")
    private String benefitsDescription;
    @NotNull(message = "startDate不能为空")
    private Date startDate;
    @NotNull(message = "endDate不能为空")
    private Date endDate;
    @NotNull(message = "publishDate不能为空")
    private Date publishDate;
    //    @NotNull(message = "interviewProcess不能为空")
    private String interviewProcess;
    @NotNull(message = "approveStatus不能为空")
    private Short approveStatus;
    @NotNull(message = "approverId不能为空")
    private String approverId;
    //    @NotNull(message = "notes不能为空")
    private String notes;
    @NotNull(message = "attachments不能为空")
    private String attachments;
    @NotNull(message = "createBy不能为空")
    private String createdBy;
    @NotNull(message = "updateBy不能为空")
    private String updatedBy;
    @NotNull(message = "createAt不能为空")
    private LocalDateTime createdAt;
    @NotNull(message = "updateAt不能为空")
    private LocalDateTime updatedAt;
    private String content;
}
